6 research outputs found

    An industrial case study for adopting software product lines in automotive industry an evolution-based approach for software product lines (EVOA-SPL)

    Get PDF
    Software Product Lines (SPLs) seek to achieve gains in productivity and time to market. Many companies in several domains are constantly adopting SPLs. Dealing with SPLs begin after companies find themselves with successful variants of a product in a particular domain. The adoption of an SPL-based approach in the automotive industry may provide a significant return on investment. To switch to an SPL-based approach, practitioners lack a reengineering approach that supports SPL migration and evolution in a systematic fashion. This paper presents a practical evolution-based approach to migrate and evolve a set of variants of a given product into an SPL and describes a case study from the automotive domain. The case study considers the need to handle the classical sensor variants family (CSVF) at Bosch Company. Using this study, we performed a contributed step toward future switch of the CSVF into the SPL. We investigated the applicability of the proposed evolution-based approach with a real variants family (using the textual requirements of the CSVF) and we evaluated our approach using several data collection methods. The results reveal that our approach can be suitable for the automotive domain in the case study.The University of Minho and Bosch Company supported this research. We thank our colleagues from the classical sensor development team at Bosch Company. Especially Andre L. Ferreira and Jana Seidel for their active collaboration and support. Special acknowledgment to the spirit of Helder Boas, who passed away after he offered the help and support to this research work

    A systematic reuse-based approach for customized cloned variants

    Get PDF
    Systematic reuse often becomes possible only after a number of customized cloned variants have already been delivered. Transforming from customized cloned variants to a systematic reuse with the explicit management of variability is beneficial. Hence, industrial companies prefer to adopt a reusebased approach. We propose in this research work an approach that supports the re-engineering of existing customized cloned variants towards systematic software reuse. The approach also eases the process of adding a new variant to a set of customized cloned variants, whenever there is enough implementation similarity between the existing customized cloned variants and the new one. We plan to evaluate our approach in an industrial case study, specifically in a set of customized cloned variants of software applications used by automotive companies. As an initial validation effort, we already have presented our first results to software developers at Bosch. They provided us a positive feedback about the ability of our approach to give an overview of the commonality and the variability of the customized cloned variant. For more robust validation, we propose to use a structured demonstration for the same industrial case study environment with qualitative and quantitative evaluation of the impact.We thank our colleagues from Bosch company in sensor software team (Joao Santos and Helder Vilas-Boas) and we also like to show our gratitude to Matthias Renninger (Development, Mangement of projects) for his assistance. We thank the European Structural and Investment Funds in the FEDER component, through the Operational Competitiveness and Internationalization Programme (COMPETE 2020) Project n° 002797; Funding Reference: POCI-01-0247-FEDER-002797

    A concrete product derivation in software product line engineering: a practical approach

    Get PDF
    Software Product Lines enable the development of a perfect family of products by reusing shared assets in a systematic manner. Product derivation is a critical activity in software product line engineering and one of the most pressing issues that a software product line must address. This work introduces an approach for automating the derivation of a product from a software product line. The software product line is part of a product family that evolved from a non-structured approach to managing variability. The automated derivation approach relies on product configurations and the refactoring of feature models. The approach was deployed and evaluated in the automotive domain using a real-world software product line. The outcome demonstrates that the approach generates a product in an automated and successful manner.This work has been supported by FCT – Fundação para a Ciência e Tecnologia within the R&D Units Project Scope: UIDB/00319/2020

    Approach to attributed feature modeling for requirements elicitation in Scrum agile development

    Get PDF
    Requirements elicitation is a core activity of requirements engineering for the product to be developed. The knowledge that has been gained during requirements engineering about the product to be developed forms the basis for requirement elicitation. The agile approach is becoming known day by day as the most widely used innovative process in the domain of requirements engineering. Requirements elicitation in agile development faces several challenges. Requirements must be gathered sufficiently to reflect stakeholders' needs. Furthermore, because of the development process, requirements evolve, and they must be adequately treated to keep up with the changing demands of the market and the passage of time. Another challenge with agile implementation is handling non-functional requirements in software development. Addressing non- functional requirements is still a critical factor in the success of any product. Requirements prioritization is also one of the most challenging tasks, and it is uncommon for requirement engineers to be able to specify and document all the requirements at once. This paper presents an approach for requirements elicitation in scrum-based agile development. The approach operates with the feature modeling technique, which is originally used in the Software Product Line (SPL). One of the most important proposed extensions to Feature Models (FMs) is the introduction of feature attributes. Our method uses attributed FMs to consider both functional and non-functional requirements as well as requirement prioritization. For the evaluation purposes, we have demonstrated our approach through two case studies in different domains of software product development. The first case study is in the domain of education, and the second one is in the domain of health care. The results reveal that our approach fits the requirements elicitation process in scrum agile development.Bourns College of Engineering, University of California, Riverside(undefined

    EvoSPL: Uma abordagem evolutiva para a adoção de linhas de produtos de software na indústria automotiva

    No full text
    Tese de Doutoramento em InformáticaAlgumas empresas desenvolvem uma família de produtos, criando a oportunidade de reutilizar e diferenciar os produtos da família. Na prática, o desenvolvimento e a evolução de tais produtos são normalmente realizados de maneira ad-hoc e as mudanças estão espalhadas por todos os artefactos de uma família. Porém, no longo prazo, tais abordagens ad-hoc apresentam grandes desvantagens para a manutenção e a evolução. Assim, é necessária uma reutilização sistemática. As linhas de produtos de software (SPLs) são amplamente adotadas pela indústria como uma ideia chave para reutilização sistemática. Para migrar os produtos existentes para uma SPL, especialmente na indústria automóvel, os profissionais precisam de uma abordagem completa. Nesta tese, apresentamos uma abordagem evolutiva, denominada EvoSPL, para gerir a evolução de SPLs. Além disso, a abordagem EvoSPL adota um processo sistemático de reengenharia que é composto por três fases principais: engenharia reversa, engenharia direta e mapeamento. A fase de engenharia reversa captura as partes comuns e variáveis dos produtos existentes no Feature Model (FM), que representa uma SPL no domínio automóvel. A fase de engenharia direta inicia os produtos restantes de uma família (que não foram usados na fase de engenharia reversa) na SPL e, em seguida, trata da sua evolução sempre que um cliente solicita um novo produto individual. A fase de mapeamento específica que fragmentos de código implementam cada feature do FM atual, usando a arquitetura de referência como um artefacto intermediário. A abordagem EvoSPL é suportada por alguns níveis de automação. Especificamente, a fase de mapeamento é suportada por uma ferramenta chamada friendlyMapper. A avaliação da abordagem EvoSPL é realizada no domínio automóvel, usando um estudo de caso de tamanho industrial na Bosch Company. Uma avaliação quantitativa e qualitativa foi usada para avaliar a abordagem num contexto industrial real. Além disso, a avaliação demonstra as capacidades da ferramenta friendlyMapper para realizar o mapeamento com sucesso. Os resultados revelam que a abordagem EvoSPL é útil para apoiar de forma eficaz e eficiente uma adoção e evolução de uma SPL num exemplo real da área automóvel.Companies often develop and evolve a products family, which creates the opportunity to reuse and differentiate the products in the family. In practice, the development and evolution of such products are typically performed in an ad-hoc manner. Thus, a systematic reuse is required. Software Product Lines (SPLs) have largely been adopted by industry as a key idea for systematic reuse. To migrate the existing products of a family into an SPL, especially in the automotive industry, practitioners still lack an end-to-end approach. In this thesis, we present an evolutionary approach, named EvoSPL, for managing consistently the evolution of SPLs in the automotive domain. The EvoSPL approach adopts a systematic re- engineering process that is composed of three main phases: reverse engineering, forward engineering, and mapping. The reverse engineering phase captures the commonality and variability of existing products in the (current) Feature Model (FM). In addition, this phase contributes with a feature identification method and feature model derivation method. The forward engineering phase bootstraps the remaining products of a family into the SPL, and then handles its evolution whenever a new individual product is requested. The mapping phase relates each feature of the current FM to its locations in the implementation code, using the reference architecture as an intermediate artifact, which helps to propagate the changes from the higher levels of abstraction (FM) to the lower ones (code), while preserving the consistency between them. The thesis is an industrial research describing an approach that handles the evolution of SPLs in a setting where the domain architecture is common within a products family. However, we believe that the EvoSPL approach could be applicable and useful in other industrial domains that fulfil the conditions of our approach. The mapping phase is supported by a tool called friendlyMapper. The evaluation of the EvoSPL approach is performed in the automotive domain using an industrial- sized case study at Bosch Car Multimedia company. A quantitative and qualitative evaluation was used to evaluate the approach within a real industrial context. Moreover, the evaluation demonstrates the friendlyMapper tool capabilities to perform the feature mapping successfully. The results reveal that the EvoSPL approach is useful for software engineers to effectively and efficiently support an SPL adoption and evolution in the automotive domain

    Prioritization of god class design smell : A multi-criteria based approach

    No full text
    Context: Design smell Prioritization is a significant activity that tunes the process of software quality enhancement and raises its life cycle. Objective: A multi-criteria merge strategy for Design Smell prioritization is described. The strategy is exemplified with the case of God Class Design Smell. Method: An empirical adjustment of the strategy is performed using a dataset of 24 open source projects. Empirical evaluation was conducted in order to check how is the top ranked God Classes obtained by the proposed technique compared against the top ranked God class according to the opinion of developers involved in each of the projects in the dataset. Results: Results of the evaluation show the strategy should be improved. Analysis of the differences between projects where respondents answer correlates with the strategy and those projects where there is no correlation should be done
    corecore